<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        'use strict';
        // 1. 我们的变量名必须先声明再使用
        // num = 10;
        // console.log(num);
        var num = 10;
        console.log(num);
        // 2. 我们不能随意删除已经声明好的变量
        // delete num;
        // 3. 严格模式下的全局作用域中的函数中的 this 指向的是  undefined 如果给他赋值，会报错
        function fn() {
            console.log(this); // undefined
        };
        fn();
        // 4. 严格模式下，如果 构造函数不加new 调用，this 会报错
        function Star() {
            this.sex = '男';
        };
        // Star();
        var ldh = new Star();
        console.log(ldh.sex);
        // 5. 严格模式下的定时器 this 还是指向 window
        setTimeout(function () {
            console.log(this);
        }, 2000);
        // 6. 严格模式下函数里面的参数不允许有重名
        function fnn(a, b) {
            console.log(a + b);
        };
        fnn(1, 2);
    </script>
</body>

</html>